<?xml version="1.0"?>
<!--
  ~ Copyright 2004-2012 ICEsoft Technologies Canada Corp.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the
  ~ License. You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an "AS
  ~ IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
  ~ express or implied. See the License for the specific language
  ~ governing permissions and limitations under the License.
  -->

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:c="http://java.sun.com/jsp/jstl/core" 
    xmlns:ace="http://www.icefaces.org/icefaces/components" 
    xmlns:ice="http://www.icesoft.com/icefaces/component" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    template="/resources/templates/content-template.xhtml">
    
    <ui:param name="title" value="#{msgs[seriesDynamic.title]}"/>
    <ui:param name="description" value="#{msgs[seriesDynamic.description]}"/>
    <ui:param name="resourceValue" value="#{seriesDynamic.exampleResource}"/>
    
    <ui:param name="wikiResources" value="#{compatComponentsResources.wikiResources}"/>
    <ui:param name="tldResources" value="#{compatComponentsResources.tldResources}"/>
    
    <ui:define name="example">
        <h:form>
             <h:panelGrid columns="3" cellspacing="0" cellpadding="3"
                          columnClasses="col25,col50,col25"
                          styleClass="employeeTable"
                          style="width: 65%;">
                <f:facet name="header">
                    New Employee Record
                </f:facet>
                <h:outputLabel for="idIn" value="ID:"/>
                <h:inputText id="idIn" value="#{seriesDynamic.toAdd.id}"
                             required="true"
                             size="3" maxlength="3">
                     <f:validateLongRange minimum="1" maximum="999"/>
                </h:inputText>
                <h:message for="idIn"/>
                
                <h:outputLabel for="fnameIn" value="First Name:"/>
                <h:inputText id="fnameIn" value="#{seriesDynamic.toAdd.firstName}"
                             required="true"
                             size="20" maxlength="30">
                     <f:validateLength minimum="1" maximum="30"/>
                </h:inputText>
                <h:message for="fnameIn"/>
                
                <h:outputLabel for="lnameIn" value="Last Name:"/>
                <h:inputText id="lnameIn" value="#{seriesDynamic.toAdd.lastName}"
                             required="true"
                             size="20" maxlength="30">
                     <f:validateLength minimum="1" maximum="30"/>
                </h:inputText>
                <h:message for="lnameIn"/>
                
                <h:outputLabel for="addressIn" value="Address:"/>
                <h:inputText id="addressIn" value="#{seriesDynamic.toAdd.address}"
                             required="true"
                             size="30" maxlength="125">
                     <f:validateLength minimum="1" maximum="125"/>
                </h:inputText>
                <h:message for="addressIn"/>
                
                <h:outputLabel for="salaryIn" value="Salary ($):"/>
                <h:inputText id="salaryIn" value="#{seriesDynamic.toAdd.salary}"
                             required="true" size="9" maxlength="8">
                    <f:convertNumber type="currency" currencySymbol="$"/>
                </h:inputText>
                <h:message for="salaryIn"/>
                
                <h:outputLabel for="addButton" value="Manage:"/>
                <h:commandButton id="addButton"
                                 value="Add Employee"
                                 actionListener="#{seriesDynamic.addItem}"/>                
            </h:panelGrid>
        </h:form>
        
        <h:form>
            <br/>
            <h:commandButton value="Restore Base Employees"
                             actionListener="#{seriesDynamic.restoreDefault}"
                             immediate="true"/>
            <br/>
            <br/>
        
            <ice:panelSeries value="#{seriesData.employees}"
                             var="employee"
                             varStatus="status" 
                             style="display: inline-table;">
                 <h:panelGrid columns="2" cellspacing="0" cellpadding="3"
                              columnClasses="col25,col75"
                              styleClass="employeeTable"
                              style="float: left; display: inline-table; width: 315px;">
                    <f:facet name="header">
                        Employee Record
                    </f:facet>
                    <h:outputLabel for="id" value="ID:"/>
                    <h:outputText id="id" value="#{employee.id}"/>
                    
                    <h:outputLabel for="name" value="Name:"/>
                    <h:outputText id="name" value="#{employee.firstName} #{employee.lastName}"/>
                    
                    <h:outputLabel for="address" value="Address:"/>
                    <h:outputText id="address" value="#{employee.address}"/>
                    
                    <h:outputLabel for="salary" value="Salary:"/>
                    <h:outputText id="salary" value="#{employee.salary}">
                        <f:convertNumber type="currency" currencySymbol="$"/>
                    </h:outputText>
                    
                    <h:outputLabel for="control" value="Manage:"/>
                    <h:commandButton id="control" value="Delete"
                                     action="#{seriesDynamic.removeItem}"
                                     immediate="true">
                         <f:setPropertyActionListener target="#{seriesDynamic.toRemove}"
                                                      value="#{status.index}"/>
                    </h:commandButton>
                 </h:panelGrid>
            </ice:panelSeries>
        </h:form>
    </ui:define>
</ui:composition>
